The present invention relates to the fields of data compression and data communication.
The communication industries have felt a continuous need to use communication channels more efficiently. In other words, a need has existed and continues to exist for using the smallest amount of channel bandwidth in accurately conveying the largest amount of information. The techniques of data compression and error correction encoding have evolved to address this need. However, to some extent data compression and error correction encoding work at cross purposes in conventional communication systems.
In addition to the need to use communication channels more efficiently, those involved in mobile and portable communications have felt other needs peculiar to these types of communications. For example, mobile and portable communications often use battery-powered devices which communicate using radio frequency (RF) channels. Such devices desirably consume as little power as possible so that smaller batteries may be used and the batteries may operate as long as possible on a single charge. Moreover, the communication links should be as robust as practical because mobile and portable devices are likely to experience a wide variation in communication signal quality due to multipath, signal blockage, interference, and the like. The signal quality is more difficult to control in mobile and portable communications than in other types of communications.
Data compression re-characterizes an original data set using less data than included in the original data set but in a manner that allows as much accuracy as possible in reconstruction of the original data. Data compression is often employed on human-perceivable data, such as video images or audio, that typically include a large amount of redundant content which the compression removes and which need not be perfectly reconstructed. If the original data set represents an image or audio, tremendous amounts of compression can be achieved while still having the reconstructed image or audio be readily perceivable. Compression and reconstruction are highly desirable in communication systems because a much smaller quantity of compressed data needs to be transmitted through a communication channel than would be required to transmit the original data set.
Error correction encoding, hereinafter referred to as forward error correction (FEC) encoding, typically involves convoluting communicated data and embedding redundant information so that a receiver can correct the transmission even if errors occur. FEC encoding requires a greater quantity of data to be communicated through a channel than would be required if FEC encoding were omitted. To this extent, FEC encoding is undesirable and works at cross purposes to compression. However, relatively small amounts of FEC encoding introduce coding gain that can more than offset the cost of transmitting additional redundant data. In general, FEC encoding maintains at least a minimum bit error rate while channel conditions deteriorate. However, when channel conditions deteriorate to some point, the encoding utterly fails and massive increases in bit errors pass through a FEC decoder. Viewers or listeners perceive FEC encoded and decoded information as being of good quality until the communication channel deteriorates to a point where the information suddenly becomes unintelligible. In mobile and portable communications where signal quality is difficult to control, this feature of FEC encoding is undesirable because devices can routinely encounter communication signal quality beneath the point where information suddenly goes from being readily perceivable to unintelligible.
Channel-optimized quantization refers to a merging of the compression and FEC encoding functions. In particular, quantization codebooks are designed to integrate the FEC encoding and compression functions by controlling compression in such a way that the small amount of redundant information which invariably remains after compression is useful for error correction. As a result, little or no need exists to reduce payload data rates by including redundant FEC information. Moreover, by integrating the two functions, any degradation in reconstructed information due to worsening channel conditions may be made more gradual and intelligible information may be recovered under worse channel conditions because compression decisions are based, at least in part, on channel conditions.
The compression of data typically involves a quantizer, several types of which have been developed. For example, a scalar quantizer is a simple construction that is well-suited to mobile and portable communications, but tends to achieve poor rate-distortion performance. Channel-optimized scalar quantizers have been developed, but nevertheless demonstrate the poor performance of scalar quantizers generally.
A vector quantizer improves upon the poor rate-distortion performance of scalar quantizers, but the vector quantizer tends to be too computationally complex for practical implementation in mobile and portable communications. In addition, the vector quantizer is characterized by having a single bit transmission error affect a large block of data, a feature likewise highly undesirable in mobile and portable communications due to the wide variation in communication signal quality. The exaggerated effect from a single bit error can be somewhat ameliorated with increased amounts of FEC encoding. However, increased FEC encoding requires the transmission of more data, and a primary goal of data compression is to transmit as little data as possible. Channel-optimized vector quantizers have been developed, but computational complexity worsens, and the exaggerated effects from single bit errors persists.
Trellis-coded quantization appears to compare favorably with vector quantization in performance, is less computationally complex to implement, and may be more robust because single bit errors in the coded bit stream tend to affect only a few outputs.
Quantizers and FEC encoders are characterized by an encoding bit rate parameter. Encoding bit rate refers to the increase or decrease in data quantity imposed by the quantizer, which decreases the data quantity, or encoder, which increases the data quantity.
Quantizers are also characterized as having a fixed or variable compression rate. With fixed compression rate quantization, a given data set, such as an image expressed as a given number of pixels, is compressed into a preset number of bits known prior to compression computations. With variable rate quantization, the number of bits into which a data set is compressed is unknown before compression computations take place. Variable rate quantization may achieve a greater amount of compression for many data sets because more important features of the data set can be compressed into larger data blocks while smaller data blocks are used for less important features. However, variable rate quantization is nevertheless undesirable, particularly in mobile and portable communications. Variable rate quantization is undesirable because implementation is excessively complex due to extensive buffering and synchronization requirements. Moreover, fixed rate compression can approximate some advantages of variable rate compression when a sufficient quantity of fixed-rate blocks of data are used to communicate a given data set.
Channel-optimized trellis-coded quantization has been developed, but only for very low fixed compression rates (i.e. one or two bits per codeword) and only using a memory intensive and computationally complex implementation which would achieve little benefit over variable rate compression. Unfortunately, a practical communication system which employs channel-optimized trellis-coded quantization should operate at a wide variety of fixed rates and at fixed rates much greater than two in order to achieve useful amounts of compression.
Therefore, what is needed is a communication system and method for multi-rate channel-optimized trellis-coded quantization that is suitable for application in mobile and portable communication devices.